package com.liliudong.template.biz.service.sys;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liliudong.template.common.dto.sys.SysDictAddDTO;
import com.liliudong.template.common.dto.sys.SysDictModifyDTO;
import com.liliudong.template.common.dto.sys.SysDictPageDTO;
import com.liliudong.template.common.entity.sys.SysDict;
import com.liliudong.template.common.vo.PageVO;
import com.liliudong.template.common.vo.sys.SysDictDetailVO;
import com.liliudong.template.common.vo.sys.SysDictListVO;
import com.liliudong.template.common.vo.sys.SysDictPageVO;

import java.util.List;

/**
 * 系统-字典表 服务
 *
 * @author ldli5
 * @date 2024-07-04 14:57:52
 */
public interface SysDictService extends IService<SysDict> {

	/**
	 * 添加
	 *
	 * @param sysDictAddDTO 新增dto
	 */
    void addOne(SysDictAddDTO sysDictAddDTO);

	/**
	 * 删除
	 *
	 * @param id 主键
	 */
    void deleteById(Long id);

    /**
     * 修改
     *
     * @param id 主键
     * @param sysDictModifyDTO 更新dto
     */
    void modifyById(Long id, SysDictModifyDTO sysDictModifyDTO);

    /**
     * 详情
     *
     * @param id 主键
     * @return {@link SysDictDetailVO }
     */
    SysDictDetailVO detailById(Long id);

    /**
     * 分页
     *
     * @param sysDictPageDTO 分页查询dto
     * @return {@link PageVO<SysDictPageVO> }
     */
    PageVO<SysDictPageVO> queryPage(SysDictPageDTO sysDictPageDTO);

	/**
	 * 查询列表
	 *
	 * @return {@link List }<{@link SysDictListVO }>
	 */
	List<SysDictListVO> queryList();

}
